In [1]:
import requests
import urllib.request
from zipfile import ZipFile
import json
import io
import zipfile
import geopandas as gpd
from shapely.geometry import shape  
import osr
import pandas as pd
import pysal as ps
import numpy as np
import requests
import geoplot
import geoplot.crs as gcrs
import matplotlib.pyplot as plt
%matplotlib inline
In [2]:
States= gpd.read_file("https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_state_500k.zip")
In [3]:
from ipyleaflet import (Map, GeoData, basemaps, WidgetControl, GeoJSON,
 LayersControl, Icon, Marker,basemap_to_tiles, Choropleth,
 MarkerCluster, Heatmap,SearchControl, 
 FullScreenControl)
from ipywidgets import Text, HTML
from branca.colormap import linear
import geopandas as gpd
import json
In [4]:
States= gpd.read_file("https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_state_500k.zip")


m = Map(center=(52.3,8.0), zoom = 3, basemap= basemaps.Esri.WorldTopoMap, close_popup_on_click=False)


geo_data = GeoData(geo_dataframe = States,
                   style={'color': 'black', 'fillColor': '#3366cc', 'opacity':0.05, 'weight':1.9, 'dashArray':'2', 'fillOpacity':0.6},
                   hover_style={'fillColor': 'red' , 'fillOpacity': 0.2},
                   name = 'Countries')


m.add_layer(geo_data)
m.add_control(LayersControl())
In [5]:
m
In [6]:
usa_state = "https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_state_500k.zip"
r=requests.get(usa_state)
z = zipfile.ZipFile(io.BytesIO(r.content))
In [7]:
usa_state = gpd.read_file(usa_state)
In [8]:
usa_state.head
Out[8]:
<bound method NDFrame.head of    STATEFP   STATENS     AFFGEOID GEOID STUSPS  \
0       66  01802705  0400000US66    66     GU   
1       48  01779801  0400000US48    48     TX   
2       55  01779806  0400000US55    55     WI   
3       44  01219835  0400000US44    44     RI   
4       36  01779796  0400000US36    36     NY   
5       78  01802710  0400000US78    78     VI   
6       33  01779794  0400000US33    33     NH   
7       27  00662849  0400000US27    27     MN   
8       72  01779808  0400000US72    72     PR   
9       29  01779791  0400000US29    29     MO   
10      37  01027616  0400000US37    37     NC   
11      26  01779789  0400000US26    26     MI   
12      22  01629543  0400000US22    22     LA   
13      31  01779792  0400000US31    31     NE   
14      06  01779778  0400000US06    06     CA   
15      56  01779807  0400000US56    56     WY   
16      45  01779799  0400000US45    45     SC   
17      69  01779809  0400000US69    69     MP   
18      20  00481813  0400000US20    20     KS   
19      10  01779781  0400000US10    10     DE   
20      02  01785533  0400000US02    02     AK   
21      34  01779795  0400000US34    34     NJ   
22      38  01779797  0400000US38    38     ND   
23      11  01702382  0400000US11    11     DC   
24      08  01779779  0400000US08    08     CO   
25      51  01779803  0400000US51    51     VA   
26      18  00448508  0400000US18    18     IN   
27      32  01779793  0400000US32    32     NV   
28      35  00897535  0400000US35    35     NM   
29      01  01779775  0400000US01    01     AL   
30      47  01325873  0400000US47    47     TN   
31      21  01779786  0400000US21    21     KY   
32      41  01155107  0400000US41    41     OR   
33      28  01779790  0400000US28    28     MS   
34      09  01779780  0400000US09    09     CT   
35      13  01705317  0400000US13    13     GA   
36      49  01455989  0400000US49    49     UT   
37      16  01779783  0400000US16    16     ID   
38      17  01779784  0400000US17    17     IL   
39      19  01779785  0400000US19    19     IA   
40      04  01779777  0400000US04    04     AZ   
41      60  01802701  0400000US60    60     AS   
42      50  01779802  0400000US50    50     VT   
43      30  00767982  0400000US30    30     MT   
44      46  01785534  0400000US46    46     SD   
45      42  01779798  0400000US42    42     PA   
46      40  01102857  0400000US40    40     OK   
47      24  01714934  0400000US24    24     MD   
48      23  01779787  0400000US23    23     ME   
49      15  01779782  0400000US15    15     HI   
50      39  01085497  0400000US39    39     OH   
51      54  01779805  0400000US54    54     WV   
52      53  01779804  0400000US53    53     WA   
53      05  00068085  0400000US05    05     AR   
54      25  00606926  0400000US25    25     MA   
55      12  00294478  0400000US12    12     FL   

                                            NAME LSAD          ALAND  \
0                                           Guam   00      543555847   
1                                          Texas   00   676680588914   
2                                      Wisconsin   00   140292246684   
3                                   Rhode Island   00     2677759219   
4                                       New York   00   122049520861   
5                   United States Virgin Islands   00      348021914   
6                                  New Hampshire   00    23190113978   
7                                      Minnesota   00   206232157570   
8                                    Puerto Rico   00     8868948653   
9                                       Missouri   00   178052563675   
10                                North Carolina   00   125933025759   
11                                      Michigan   00   146614604273   
12                                     Louisiana   00   111913975425   
13                                      Nebraska   00   198957373531   
14                                    California   00   403671196038   
15                                       Wyoming   00   251458712277   
16                                South Carolina   00    77866132568   
17  Commonwealth of the Northern Mariana Islands   00      472292528   
18                                        Kansas   00   211753777874   
19                                      Delaware   00     5046731558   
20                                        Alaska   00  1478941109938   
21                                    New Jersey   00    19048737655   
22                                  North Dakota   00   178698456949   
23                          District of Columbia   00      158316124   
24                                      Colorado   00   268418746964   
25                                      Virginia   00   102258180558   
26                                       Indiana   00    92788998225   
27                                        Nevada   00   284537264244   
28                                    New Mexico   00   314198560935   
29                                       Alabama   00   131175460655   
30                                     Tennessee   00   106791646253   
31                                      Kentucky   00   102282796080   
32                                        Oregon   00   248628426864   
33                                   Mississippi   00   121532487805   
34                                   Connecticut   00    12541688516   
35                                       Georgia   00   149486234922   
36                                          Utah   00   213355058738   
37                                         Idaho   00   214049923496   
38                                      Illinois   00   143778461053   
39                                          Iowa   00   144659688848   
40                                       Arizona   00   294360991275   
41                                American Samoa   00      197759069   
42                                       Vermont   00    23873081385   
43                                       Montana   00   376973673895   
44                                  South Dakota   00   196345992286   
45                                  Pennsylvania   00   115881934065   
46                                      Oklahoma   00   177664190465   
47                                      Maryland   00    25151895765   
48                                         Maine   00    79888428972   
49                                        Hawaii   00    16634147166   
50                                          Ohio   00   105823700104   
51                                 West Virginia   00    62266296765   
52                                    Washington   00   172117960159   
53                                      Arkansas   00   134660850501   
54                                 Massachusetts   00    20204396898   
55                                       Florida   00   138958484319   

          AWATER                                           geometry  
0      934337453  MULTIPOLYGON (((144.64538 13.23627, 144.64716 ...  
1    18979352230  MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ...  
2    29343721650  MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ...  
3     1323691129  MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ...  
4    19256750161  MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ...  
5     1550236187  MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ...  
6     1025973001  MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ...  
7    18949864226  MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ...  
8     4922329963  MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ...  
9     2487215790  POLYGON ((-95.77355 40.57820, -95.76853 40.583...  
10   13456395178  MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ...  
11  103872203398  MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ...  
12   23737664982  MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ...  
13    1371117957  POLYGON ((-104.05342 41.17054, -104.05321 41.1...  
14   20294133830  MULTIPOLYGON (((-118.60442 33.47855, -118.5987...  
15    1867503715  POLYGON ((-111.05456 45.00095, -111.04507 45.0...  
16    5074311415  MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ...  
17    4644252458  MULTIPOLYGON (((146.05103 16.00674, 146.05167 ...  
18    1345707497  POLYGON ((-102.05174 40.00308, -101.91670 40.0...  
19    1399179670  MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ...  
20  245380162784  MULTIPOLYGON (((-147.48341 60.72943, -147.4781...  
21    3533261945  MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ...  
22    4410633765  POLYGON ((-104.04868 48.86378, -104.04865 48.8...  
23      18709762  POLYGON ((-77.11976 38.93434, -77.11253 38.940...  
24    1185766400  POLYGON ((-109.06025 38.59933, -109.05954 38.7...  
25    8528070310  MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ...  
26    1541613641  POLYGON ((-88.09776 37.90403, -88.09448 37.905...  
27    1839662252  POLYGON ((-120.00574 39.22866, -120.00567 39.2...  
28     726482115  POLYGON ((-109.05017 31.48000, -109.04984 31.4...  
29    4591915034  MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ...  
30    2322913374  POLYGON ((-90.31045 35.00270, -90.30926 35.009...  
31    2368025703  MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ...  
32    6170953359  MULTIPOLYGON (((-123.59892 46.25145, -123.5984...  
33    3915791676  MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ...  
34    1816426151  MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ...  
35    4418749570  MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ...  
36    6529987297  POLYGON ((-114.05296 37.59278, -114.05247 37.6...  
37    2391577745  POLYGON ((-117.24268 44.39655, -117.23484 44.3...  
38    6216594318  POLYGON ((-91.51297 40.18106, -91.51107 40.188...  
39    1085996889  POLYGON ((-96.63970 42.73707, -96.63589 42.741...  
40     858853288  POLYGON ((-114.81629 32.50804, -114.81432 32.5...  
41    1307243751  MULTIPOLYGON (((-168.14582 -14.54791, -168.145...  
42    1030243281  POLYGON ((-73.43774 44.04501, -73.43199 44.063...  
43    3866689601  POLYGON ((-116.04914 48.50205, -116.04913 48.5...  
44    3383664203  POLYGON ((-104.05788 44.99761, -104.05078 44.9...  
45    3397760687  POLYGON ((-80.51989 40.90666, -80.51963 40.911...  
46    3373689316  POLYGON ((-103.00257 36.52659, -103.00219 36.6...  
47    6979171386  MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ...  
48   11744937116  MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ...  
49   11777652106  MULTIPOLYGON (((-156.06076 19.73055, -156.0566...  
50   10274656132  MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ...  
51     489206049  POLYGON ((-82.64320 38.16909, -82.64300 38.169...  
52   12549742084  MULTIPOLYGON (((-122.33164 48.02056, -122.3283...  
53    3121867339  POLYGON ((-94.61792 36.49941, -94.61765 36.499...  
54    7130653806  MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ...  
55   45975808217  MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ...  >
In [9]:
census_api_key= '75b228a93b0b0592dd6d820dc0077020a546514a'
pop_url_str= 'https://api.census.gov/data/2019/acs/acs5?get=B01003_001E,NAME,GEO_ID&for=state:*&key='+census_api_key

predicates= {}
get_vars= ["NAME","GEO_ID","B01003_001E"]
predicates["get"]= ",". join(get_vars)
predicates["for"]= "state:*"
r2= requests.get(pop_url_str, params= predicates)
In [10]:
print(r2.json()[0])
['B01003_001E', 'NAME', 'GEO_ID', 'state']
In [11]:
col_names= ["total_pop","Name", "GEO_ID", "state"]
df= pd.DataFrame (columns=col_names, data=r2.json()[1:])
#fix data types
df["total_pop"]= df["total_pop"].astype(int)
df.head()
Out[11]:
total_pop Name GEO_ID state
0 4876250 Alabama 0400000US01 01
1 737068 Alaska 0400000US02 02
2 7050299 Arizona 0400000US04 04
3 2999370 Arkansas 0400000US05 05
4 39283497 California 0400000US06 06
In [12]:
df2= pd.DataFrame (usa_state)
print (df2)
   STATEFP   STATENS     AFFGEOID GEOID STUSPS  \
0       66  01802705  0400000US66    66     GU   
1       48  01779801  0400000US48    48     TX   
2       55  01779806  0400000US55    55     WI   
3       44  01219835  0400000US44    44     RI   
4       36  01779796  0400000US36    36     NY   
5       78  01802710  0400000US78    78     VI   
6       33  01779794  0400000US33    33     NH   
7       27  00662849  0400000US27    27     MN   
8       72  01779808  0400000US72    72     PR   
9       29  01779791  0400000US29    29     MO   
10      37  01027616  0400000US37    37     NC   
11      26  01779789  0400000US26    26     MI   
12      22  01629543  0400000US22    22     LA   
13      31  01779792  0400000US31    31     NE   
14      06  01779778  0400000US06    06     CA   
15      56  01779807  0400000US56    56     WY   
16      45  01779799  0400000US45    45     SC   
17      69  01779809  0400000US69    69     MP   
18      20  00481813  0400000US20    20     KS   
19      10  01779781  0400000US10    10     DE   
20      02  01785533  0400000US02    02     AK   
21      34  01779795  0400000US34    34     NJ   
22      38  01779797  0400000US38    38     ND   
23      11  01702382  0400000US11    11     DC   
24      08  01779779  0400000US08    08     CO   
25      51  01779803  0400000US51    51     VA   
26      18  00448508  0400000US18    18     IN   
27      32  01779793  0400000US32    32     NV   
28      35  00897535  0400000US35    35     NM   
29      01  01779775  0400000US01    01     AL   
30      47  01325873  0400000US47    47     TN   
31      21  01779786  0400000US21    21     KY   
32      41  01155107  0400000US41    41     OR   
33      28  01779790  0400000US28    28     MS   
34      09  01779780  0400000US09    09     CT   
35      13  01705317  0400000US13    13     GA   
36      49  01455989  0400000US49    49     UT   
37      16  01779783  0400000US16    16     ID   
38      17  01779784  0400000US17    17     IL   
39      19  01779785  0400000US19    19     IA   
40      04  01779777  0400000US04    04     AZ   
41      60  01802701  0400000US60    60     AS   
42      50  01779802  0400000US50    50     VT   
43      30  00767982  0400000US30    30     MT   
44      46  01785534  0400000US46    46     SD   
45      42  01779798  0400000US42    42     PA   
46      40  01102857  0400000US40    40     OK   
47      24  01714934  0400000US24    24     MD   
48      23  01779787  0400000US23    23     ME   
49      15  01779782  0400000US15    15     HI   
50      39  01085497  0400000US39    39     OH   
51      54  01779805  0400000US54    54     WV   
52      53  01779804  0400000US53    53     WA   
53      05  00068085  0400000US05    05     AR   
54      25  00606926  0400000US25    25     MA   
55      12  00294478  0400000US12    12     FL   

                                            NAME LSAD          ALAND  \
0                                           Guam   00      543555847   
1                                          Texas   00   676680588914   
2                                      Wisconsin   00   140292246684   
3                                   Rhode Island   00     2677759219   
4                                       New York   00   122049520861   
5                   United States Virgin Islands   00      348021914   
6                                  New Hampshire   00    23190113978   
7                                      Minnesota   00   206232157570   
8                                    Puerto Rico   00     8868948653   
9                                       Missouri   00   178052563675   
10                                North Carolina   00   125933025759   
11                                      Michigan   00   146614604273   
12                                     Louisiana   00   111913975425   
13                                      Nebraska   00   198957373531   
14                                    California   00   403671196038   
15                                       Wyoming   00   251458712277   
16                                South Carolina   00    77866132568   
17  Commonwealth of the Northern Mariana Islands   00      472292528   
18                                        Kansas   00   211753777874   
19                                      Delaware   00     5046731558   
20                                        Alaska   00  1478941109938   
21                                    New Jersey   00    19048737655   
22                                  North Dakota   00   178698456949   
23                          District of Columbia   00      158316124   
24                                      Colorado   00   268418746964   
25                                      Virginia   00   102258180558   
26                                       Indiana   00    92788998225   
27                                        Nevada   00   284537264244   
28                                    New Mexico   00   314198560935   
29                                       Alabama   00   131175460655   
30                                     Tennessee   00   106791646253   
31                                      Kentucky   00   102282796080   
32                                        Oregon   00   248628426864   
33                                   Mississippi   00   121532487805   
34                                   Connecticut   00    12541688516   
35                                       Georgia   00   149486234922   
36                                          Utah   00   213355058738   
37                                         Idaho   00   214049923496   
38                                      Illinois   00   143778461053   
39                                          Iowa   00   144659688848   
40                                       Arizona   00   294360991275   
41                                American Samoa   00      197759069   
42                                       Vermont   00    23873081385   
43                                       Montana   00   376973673895   
44                                  South Dakota   00   196345992286   
45                                  Pennsylvania   00   115881934065   
46                                      Oklahoma   00   177664190465   
47                                      Maryland   00    25151895765   
48                                         Maine   00    79888428972   
49                                        Hawaii   00    16634147166   
50                                          Ohio   00   105823700104   
51                                 West Virginia   00    62266296765   
52                                    Washington   00   172117960159   
53                                      Arkansas   00   134660850501   
54                                 Massachusetts   00    20204396898   
55                                       Florida   00   138958484319   

          AWATER                                           geometry  
0      934337453  MULTIPOLYGON (((144.64538 13.23627, 144.64716 ...  
1    18979352230  MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ...  
2    29343721650  MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ...  
3     1323691129  MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ...  
4    19256750161  MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ...  
5     1550236187  MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ...  
6     1025973001  MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ...  
7    18949864226  MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ...  
8     4922329963  MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ...  
9     2487215790  POLYGON ((-95.77355 40.57820, -95.76853 40.583...  
10   13456395178  MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ...  
11  103872203398  MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ...  
12   23737664982  MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ...  
13    1371117957  POLYGON ((-104.05342 41.17054, -104.05321 41.1...  
14   20294133830  MULTIPOLYGON (((-118.60442 33.47855, -118.5987...  
15    1867503715  POLYGON ((-111.05456 45.00095, -111.04507 45.0...  
16    5074311415  MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ...  
17    4644252458  MULTIPOLYGON (((146.05103 16.00674, 146.05167 ...  
18    1345707497  POLYGON ((-102.05174 40.00308, -101.91670 40.0...  
19    1399179670  MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ...  
20  245380162784  MULTIPOLYGON (((-147.48341 60.72943, -147.4781...  
21    3533261945  MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ...  
22    4410633765  POLYGON ((-104.04868 48.86378, -104.04865 48.8...  
23      18709762  POLYGON ((-77.11976 38.93434, -77.11253 38.940...  
24    1185766400  POLYGON ((-109.06025 38.59933, -109.05954 38.7...  
25    8528070310  MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ...  
26    1541613641  POLYGON ((-88.09776 37.90403, -88.09448 37.905...  
27    1839662252  POLYGON ((-120.00574 39.22866, -120.00567 39.2...  
28     726482115  POLYGON ((-109.05017 31.48000, -109.04984 31.4...  
29    4591915034  MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ...  
30    2322913374  POLYGON ((-90.31045 35.00270, -90.30926 35.009...  
31    2368025703  MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ...  
32    6170953359  MULTIPOLYGON (((-123.59892 46.25145, -123.5984...  
33    3915791676  MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ...  
34    1816426151  MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ...  
35    4418749570  MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ...  
36    6529987297  POLYGON ((-114.05296 37.59278, -114.05247 37.6...  
37    2391577745  POLYGON ((-117.24268 44.39655, -117.23484 44.3...  
38    6216594318  POLYGON ((-91.51297 40.18106, -91.51107 40.188...  
39    1085996889  POLYGON ((-96.63970 42.73707, -96.63589 42.741...  
40     858853288  POLYGON ((-114.81629 32.50804, -114.81432 32.5...  
41    1307243751  MULTIPOLYGON (((-168.14582 -14.54791, -168.145...  
42    1030243281  POLYGON ((-73.43774 44.04501, -73.43199 44.063...  
43    3866689601  POLYGON ((-116.04914 48.50205, -116.04913 48.5...  
44    3383664203  POLYGON ((-104.05788 44.99761, -104.05078 44.9...  
45    3397760687  POLYGON ((-80.51989 40.90666, -80.51963 40.911...  
46    3373689316  POLYGON ((-103.00257 36.52659, -103.00219 36.6...  
47    6979171386  MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ...  
48   11744937116  MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ...  
49   11777652106  MULTIPOLYGON (((-156.06076 19.73055, -156.0566...  
50   10274656132  MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ...  
51     489206049  POLYGON ((-82.64320 38.16909, -82.64300 38.169...  
52   12549742084  MULTIPOLYGON (((-122.33164 48.02056, -122.3283...  
53    3121867339  POLYGON ((-94.61792 36.49941, -94.61765 36.499...  
54    7130653806  MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ...  
55   45975808217  MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ...  
In [13]:
df_map= df2.set_index('AFFGEOID').join(df.set_index('GEO_ID'))
print (df_map)
            STATEFP   STATENS GEOID STUSPS  \
AFFGEOID                                     
0400000US66      66  01802705    66     GU   
0400000US48      48  01779801    48     TX   
0400000US55      55  01779806    55     WI   
0400000US44      44  01219835    44     RI   
0400000US36      36  01779796    36     NY   
0400000US78      78  01802710    78     VI   
0400000US33      33  01779794    33     NH   
0400000US27      27  00662849    27     MN   
0400000US72      72  01779808    72     PR   
0400000US29      29  01779791    29     MO   
0400000US37      37  01027616    37     NC   
0400000US26      26  01779789    26     MI   
0400000US22      22  01629543    22     LA   
0400000US31      31  01779792    31     NE   
0400000US06      06  01779778    06     CA   
0400000US56      56  01779807    56     WY   
0400000US45      45  01779799    45     SC   
0400000US69      69  01779809    69     MP   
0400000US20      20  00481813    20     KS   
0400000US10      10  01779781    10     DE   
0400000US02      02  01785533    02     AK   
0400000US34      34  01779795    34     NJ   
0400000US38      38  01779797    38     ND   
0400000US11      11  01702382    11     DC   
0400000US08      08  01779779    08     CO   
0400000US51      51  01779803    51     VA   
0400000US18      18  00448508    18     IN   
0400000US32      32  01779793    32     NV   
0400000US35      35  00897535    35     NM   
0400000US01      01  01779775    01     AL   
0400000US47      47  01325873    47     TN   
0400000US21      21  01779786    21     KY   
0400000US41      41  01155107    41     OR   
0400000US28      28  01779790    28     MS   
0400000US09      09  01779780    09     CT   
0400000US13      13  01705317    13     GA   
0400000US49      49  01455989    49     UT   
0400000US16      16  01779783    16     ID   
0400000US17      17  01779784    17     IL   
0400000US19      19  01779785    19     IA   
0400000US04      04  01779777    04     AZ   
0400000US60      60  01802701    60     AS   
0400000US50      50  01779802    50     VT   
0400000US30      30  00767982    30     MT   
0400000US46      46  01785534    46     SD   
0400000US42      42  01779798    42     PA   
0400000US40      40  01102857    40     OK   
0400000US24      24  01714934    24     MD   
0400000US23      23  01779787    23     ME   
0400000US15      15  01779782    15     HI   
0400000US39      39  01085497    39     OH   
0400000US54      54  01779805    54     WV   
0400000US53      53  01779804    53     WA   
0400000US05      05  00068085    05     AR   
0400000US25      25  00606926    25     MA   
0400000US12      12  00294478    12     FL   

                                                     NAME LSAD          ALAND  \
AFFGEOID                                                                        
0400000US66                                          Guam   00      543555847   
0400000US48                                         Texas   00   676680588914   
0400000US55                                     Wisconsin   00   140292246684   
0400000US44                                  Rhode Island   00     2677759219   
0400000US36                                      New York   00   122049520861   
0400000US78                  United States Virgin Islands   00      348021914   
0400000US33                                 New Hampshire   00    23190113978   
0400000US27                                     Minnesota   00   206232157570   
0400000US72                                   Puerto Rico   00     8868948653   
0400000US29                                      Missouri   00   178052563675   
0400000US37                                North Carolina   00   125933025759   
0400000US26                                      Michigan   00   146614604273   
0400000US22                                     Louisiana   00   111913975425   
0400000US31                                      Nebraska   00   198957373531   
0400000US06                                    California   00   403671196038   
0400000US56                                       Wyoming   00   251458712277   
0400000US45                                South Carolina   00    77866132568   
0400000US69  Commonwealth of the Northern Mariana Islands   00      472292528   
0400000US20                                        Kansas   00   211753777874   
0400000US10                                      Delaware   00     5046731558   
0400000US02                                        Alaska   00  1478941109938   
0400000US34                                    New Jersey   00    19048737655   
0400000US38                                  North Dakota   00   178698456949   
0400000US11                          District of Columbia   00      158316124   
0400000US08                                      Colorado   00   268418746964   
0400000US51                                      Virginia   00   102258180558   
0400000US18                                       Indiana   00    92788998225   
0400000US32                                        Nevada   00   284537264244   
0400000US35                                    New Mexico   00   314198560935   
0400000US01                                       Alabama   00   131175460655   
0400000US47                                     Tennessee   00   106791646253   
0400000US21                                      Kentucky   00   102282796080   
0400000US41                                        Oregon   00   248628426864   
0400000US28                                   Mississippi   00   121532487805   
0400000US09                                   Connecticut   00    12541688516   
0400000US13                                       Georgia   00   149486234922   
0400000US49                                          Utah   00   213355058738   
0400000US16                                         Idaho   00   214049923496   
0400000US17                                      Illinois   00   143778461053   
0400000US19                                          Iowa   00   144659688848   
0400000US04                                       Arizona   00   294360991275   
0400000US60                                American Samoa   00      197759069   
0400000US50                                       Vermont   00    23873081385   
0400000US30                                       Montana   00   376973673895   
0400000US46                                  South Dakota   00   196345992286   
0400000US42                                  Pennsylvania   00   115881934065   
0400000US40                                      Oklahoma   00   177664190465   
0400000US24                                      Maryland   00    25151895765   
0400000US23                                         Maine   00    79888428972   
0400000US15                                        Hawaii   00    16634147166   
0400000US39                                          Ohio   00   105823700104   
0400000US54                                 West Virginia   00    62266296765   
0400000US53                                    Washington   00   172117960159   
0400000US05                                      Arkansas   00   134660850501   
0400000US25                                 Massachusetts   00    20204396898   
0400000US12                                       Florida   00   138958484319   

                   AWATER                                           geometry  \
AFFGEOID                                                                       
0400000US66     934337453  MULTIPOLYGON (((144.64538 13.23627, 144.64716 ...   
0400000US48   18979352230  MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ...   
0400000US55   29343721650  MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ...   
0400000US44    1323691129  MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ...   
0400000US36   19256750161  MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ...   
0400000US78    1550236187  MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ...   
0400000US33    1025973001  MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ...   
0400000US27   18949864226  MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ...   
0400000US72    4922329963  MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ...   
0400000US29    2487215790  POLYGON ((-95.77355 40.57820, -95.76853 40.583...   
0400000US37   13456395178  MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ...   
0400000US26  103872203398  MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ...   
0400000US22   23737664982  MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ...   
0400000US31    1371117957  POLYGON ((-104.05342 41.17054, -104.05321 41.1...   
0400000US06   20294133830  MULTIPOLYGON (((-118.60442 33.47855, -118.5987...   
0400000US56    1867503715  POLYGON ((-111.05456 45.00095, -111.04507 45.0...   
0400000US45    5074311415  MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ...   
0400000US69    4644252458  MULTIPOLYGON (((146.05103 16.00674, 146.05167 ...   
0400000US20    1345707497  POLYGON ((-102.05174 40.00308, -101.91670 40.0...   
0400000US10    1399179670  MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ...   
0400000US02  245380162784  MULTIPOLYGON (((-147.48341 60.72943, -147.4781...   
0400000US34    3533261945  MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ...   
0400000US38    4410633765  POLYGON ((-104.04868 48.86378, -104.04865 48.8...   
0400000US11      18709762  POLYGON ((-77.11976 38.93434, -77.11253 38.940...   
0400000US08    1185766400  POLYGON ((-109.06025 38.59933, -109.05954 38.7...   
0400000US51    8528070310  MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ...   
0400000US18    1541613641  POLYGON ((-88.09776 37.90403, -88.09448 37.905...   
0400000US32    1839662252  POLYGON ((-120.00574 39.22866, -120.00567 39.2...   
0400000US35     726482115  POLYGON ((-109.05017 31.48000, -109.04984 31.4...   
0400000US01    4591915034  MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ...   
0400000US47    2322913374  POLYGON ((-90.31045 35.00270, -90.30926 35.009...   
0400000US21    2368025703  MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ...   
0400000US41    6170953359  MULTIPOLYGON (((-123.59892 46.25145, -123.5984...   
0400000US28    3915791676  MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ...   
0400000US09    1816426151  MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ...   
0400000US13    4418749570  MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ...   
0400000US49    6529987297  POLYGON ((-114.05296 37.59278, -114.05247 37.6...   
0400000US16    2391577745  POLYGON ((-117.24268 44.39655, -117.23484 44.3...   
0400000US17    6216594318  POLYGON ((-91.51297 40.18106, -91.51107 40.188...   
0400000US19    1085996889  POLYGON ((-96.63970 42.73707, -96.63589 42.741...   
0400000US04     858853288  POLYGON ((-114.81629 32.50804, -114.81432 32.5...   
0400000US60    1307243751  MULTIPOLYGON (((-168.14582 -14.54791, -168.145...   
0400000US50    1030243281  POLYGON ((-73.43774 44.04501, -73.43199 44.063...   
0400000US30    3866689601  POLYGON ((-116.04914 48.50205, -116.04913 48.5...   
0400000US46    3383664203  POLYGON ((-104.05788 44.99761, -104.05078 44.9...   
0400000US42    3397760687  POLYGON ((-80.51989 40.90666, -80.51963 40.911...   
0400000US40    3373689316  POLYGON ((-103.00257 36.52659, -103.00219 36.6...   
0400000US24    6979171386  MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ...   
0400000US23   11744937116  MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ...   
0400000US15   11777652106  MULTIPOLYGON (((-156.06076 19.73055, -156.0566...   
0400000US39   10274656132  MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ...   
0400000US54     489206049  POLYGON ((-82.64320 38.16909, -82.64300 38.169...   
0400000US53   12549742084  MULTIPOLYGON (((-122.33164 48.02056, -122.3283...   
0400000US05    3121867339  POLYGON ((-94.61792 36.49941, -94.61765 36.499...   
0400000US25    7130653806  MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ...   
0400000US12   45975808217  MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ...   

              total_pop                  Name state  
AFFGEOID                                             
0400000US66         NaN                   NaN   NaN  
0400000US48  28260856.0                 Texas    48  
0400000US55   5790716.0             Wisconsin    55  
0400000US44   1057231.0          Rhode Island    44  
0400000US36  19572319.0              New York    36  
0400000US78         NaN                   NaN   NaN  
0400000US33   1348124.0         New Hampshire    33  
0400000US27   5563378.0             Minnesota    27  
0400000US72   3318447.0           Puerto Rico    72  
0400000US29   6104910.0              Missouri    29  
0400000US37  10264876.0        North Carolina    37  
0400000US26   9965265.0              Michigan    26  
0400000US22   4664362.0             Louisiana    22  
0400000US31   1914571.0              Nebraska    31  
0400000US06  39283497.0            California    06  
0400000US56    581024.0               Wyoming    56  
0400000US45   5020806.0        South Carolina    45  
0400000US69         NaN                   NaN   NaN  
0400000US20   2910652.0                Kansas    20  
0400000US10    957248.0              Delaware    10  
0400000US02    737068.0                Alaska    02  
0400000US34   8878503.0            New Jersey    34  
0400000US38    756717.0          North Dakota    38  
0400000US11    692683.0  District of Columbia    11  
0400000US08   5610349.0              Colorado    08  
0400000US51   8454463.0              Virginia    51  
0400000US18   6665703.0               Indiana    18  
0400000US32   2972382.0                Nevada    32  
0400000US35   2092454.0            New Mexico    35  
0400000US01   4876250.0               Alabama    01  
0400000US47   6709356.0             Tennessee    47  
0400000US21   4449052.0              Kentucky    21  
0400000US41   4129803.0                Oregon    41  
0400000US28   2984418.0           Mississippi    28  
0400000US09   3575074.0           Connecticut    09  
0400000US13  10403847.0               Georgia    13  
0400000US49   3096848.0                  Utah    49  
0400000US16   1717750.0                 Idaho    16  
0400000US17  12770631.0              Illinois    17  
0400000US19   3139508.0                  Iowa    19  
0400000US04   7050299.0               Arizona    04  
0400000US60         NaN                   NaN   NaN  
0400000US50    624313.0               Vermont    50  
0400000US30   1050649.0               Montana    30  
0400000US46    870638.0          South Dakota    46  
0400000US42  12791530.0          Pennsylvania    42  
0400000US40   3932870.0              Oklahoma    40  
0400000US24   6018848.0              Maryland    24  
0400000US23   1335492.0                 Maine    23  
0400000US15   1422094.0                Hawaii    15  
0400000US39  11655397.0                  Ohio    39  
0400000US54   1817305.0         West Virginia    54  
0400000US53   7404107.0            Washington    53  
0400000US05   2999370.0              Arkansas    05  
0400000US25   6850553.0         Massachusetts    25  
0400000US12  20901636.0               Florida    12  
In [14]:
sq_meter_per_square_mile = 2589988.1103
df_map['population_density']= df_map['total_pop'] / (df_map['ALAND'] / sq_meter_per_square_mile)

# don't display left 5 columns
# iloc slice by index integer position. all rows, column >= 5
# https://stackoverflow.com/questions/31593201/pandas-iloc-vs-ix-vs-loc-explanation-how-are-they-different#31593712
df_map.iloc[:, 5:].sort_values(by=['population_density'], ascending=False).head()
Out[14]:
LSAD ALAND AWATER geometry total_pop Name state population_density
AFFGEOID
0400000US11 00 158316124 18709762 POLYGON ((-77.11976 38.93434, -77.11253 38.940... 692683.0 District of Columbia 11 11332.015267
0400000US34 00 19048737655 3533261945 MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ... 8878503.0 New Jersey 34 1207.178010
0400000US44 00 2677759219 1323691129 MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ... 1057231.0 Rhode Island 44 1022.577273
0400000US72 00 8868948653 4922329963 MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ... 3318447.0 Puerto Rico 72 969.081975
0400000US25 00 20204396898 7130653806 MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ... 6850553.0 Massachusetts 25 878.167802
In [15]:
df_map.iloc[:, 5:].sort_values(by=['population_density'], ascending=False).tail()
Out[15]:
LSAD ALAND AWATER geometry total_pop Name state population_density
AFFGEOID
0400000US02 00 1478941109938 245380162784 MULTIPOLYGON (((-147.48341 60.72943, -147.4781... 737068.0 Alaska 02 1.290787
0400000US66 00 543555847 934337453 MULTIPOLYGON (((144.64538 13.23627, 144.64716 ... NaN NaN NaN NaN
0400000US78 00 348021914 1550236187 MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ... NaN NaN NaN NaN
0400000US69 00 472292528 4644252458 MULTIPOLYGON (((146.05103 16.00674, 146.05167 ... NaN NaN NaN NaN
0400000US60 00 197759069 1307243751 MULTIPOLYGON (((-168.14582 -14.54791, -168.145... NaN NaN NaN NaN
In [16]:
#delete outliers
df_map_US= df_map.set_index("NAME")
df_map_US.sort_values(by= "STUSPS", ascending=True)
Out[16]:
STATEFP STATENS GEOID STUSPS LSAD ALAND AWATER geometry total_pop Name state population_density
NAME
Alaska 02 01785533 02 AK 00 1478941109938 245380162784 MULTIPOLYGON (((-147.48341 60.72943, -147.4781... 737068.0 Alaska 02 1.290787
Alabama 01 01779775 01 AL 00 131175460655 4591915034 MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ... 4876250.0 Alabama 01 96.278904
Arkansas 05 00068085 05 AR 00 134660850501 3121867339 POLYGON ((-94.61792 36.49941, -94.61765 36.499... 2999370.0 Arkansas 05 57.688130
American Samoa 60 01802701 60 AS 00 197759069 1307243751 MULTIPOLYGON (((-168.14582 -14.54791, -168.145... NaN NaN NaN NaN
Arizona 04 01779777 04 AZ 00 294360991275 858853288 POLYGON ((-114.81629 32.50804, -114.81432 32.5... 7050299.0 Arizona 04 62.033323
California 06 01779778 06 CA 00 403671196038 20294133830 MULTIPOLYGON (((-118.60442 33.47855, -118.5987... 39283497.0 California 06 252.046198
Colorado 08 01779779 08 CO 00 268418746964 1185766400 POLYGON ((-109.06025 38.59933, -109.05954 38.7... 5610349.0 Colorado 08 54.134584
Connecticut 09 01779780 09 CT 00 12541688516 1816426151 MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ... 3575074.0 Connecticut 09 738.289676
District of Columbia 11 01702382 11 DC 00 158316124 18709762 POLYGON ((-77.11976 38.93434, -77.11253 38.940... 692683.0 District of Columbia 11 11332.015267
Delaware 10 01779781 10 DE 00 5046731558 1399179670 MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ... 957248.0 Delaware 10 491.260712
Florida 12 00294478 12 FL 00 138958484319 45975808217 MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ... 20901636.0 Florida 12 389.576707
Georgia 13 01705317 13 GA 00 149486234922 4418749570 MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ... 10403847.0 Georgia 13 180.256330
Guam 66 01802705 66 GU 00 543555847 934337453 MULTIPOLYGON (((144.64538 13.23627, 144.64716 ... NaN NaN NaN NaN
Hawaii 15 01779782 15 HI 00 16634147166 11777652106 MULTIPOLYGON (((-156.06076 19.73055, -156.0566... 1422094.0 Hawaii 15 221.424430
Iowa 19 01779785 19 IA 00 144659688848 1085996889 POLYGON ((-96.63970 42.73707, -96.63589 42.741... 3139508.0 Iowa 19 56.209774
Idaho 16 01779783 16 ID 00 214049923496 2391577745 POLYGON ((-117.24268 44.39655, -117.23484 44.3... 1717750.0 Idaho 16 20.784647
Illinois 17 01779784 17 IL 00 143778461053 6216594318 POLYGON ((-91.51297 40.18106, -91.51107 40.188... 12770631.0 Illinois 17 230.046853
Indiana 18 00448508 18 IN 00 92788998225 1541613641 POLYGON ((-88.09776 37.90403, -88.09448 37.905... 6665703.0 Indiana 18 186.057527
Kansas 20 00481813 20 KS 00 211753777874 1345707497 POLYGON ((-102.05174 40.00308, -101.91670 40.0... 2910652.0 Kansas 20 35.600565
Kentucky 21 01779786 21 KY 00 102282796080 2368025703 MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ... 4449052.0 Kentucky 21 112.658162
Louisiana 22 01629543 22 LA 00 111913975425 23737664982 MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ... 4664362.0 Louisiana 22 107.945787
Massachusetts 25 00606926 25 MA 00 20204396898 7130653806 MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ... 6850553.0 Massachusetts 25 878.167802
Maryland 24 01714934 24 MD 00 25151895765 6979171386 MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ... 6018848.0 Maryland 24 619.784087
Maine 23 01779787 23 ME 00 79888428972 11744937116 MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ... 1335492.0 Maine 23 43.296738
Michigan 26 01779789 26 MI 00 146614604273 103872203398 MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ... 9965265.0 Michigan 26 176.039202
Minnesota 27 00662849 27 MN 00 206232157570 18949864226 MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ... 5563378.0 Minnesota 27 69.868264
Missouri 29 01779791 29 MO 00 178052563675 2487215790 POLYGON ((-95.77355 40.57820, -95.76853 40.583... 6104910.0 Missouri 29 88.803239
Commonwealth of the Northern Mariana Islands 69 01779809 69 MP 00 472292528 4644252458 MULTIPOLYGON (((146.05103 16.00674, 146.05167 ... NaN NaN NaN NaN
Mississippi 28 01779790 28 MS 00 121532487805 3915791676 MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ... 2984418.0 Mississippi 28 63.601159
Montana 30 00767982 30 MT 00 376973673895 3866689601 POLYGON ((-116.04914 48.50205, -116.04913 48.5... 1050649.0 Montana 30 7.218457
North Carolina 37 01027616 37 NC 00 125933025759 13456395178 MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ... 10264876.0 North Carolina 37 211.111475
North Dakota 38 01779797 38 ND 00 178698456949 4410633765 POLYGON ((-104.04868 48.86378, -104.04865 48.8... 756717.0 North Dakota 38 10.967571
Nebraska 31 01779792 31 NE 00 198957373531 1371117957 POLYGON ((-104.05342 41.17054, -104.05321 41.1... 1914571.0 Nebraska 31 24.923510
New Hampshire 33 01779794 33 NH 00 23190113978 1025973001 MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ... 1348124.0 New Hampshire 33 150.565242
New Jersey 34 01779795 34 NJ 00 19048737655 3533261945 MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ... 8878503.0 New Jersey 34 1207.178010
New Mexico 35 00897535 35 NM 00 314198560935 726482115 POLYGON ((-109.05017 31.48000, -109.04984 31.4... 2092454.0 New Mexico 35 17.248427
Nevada 32 01779793 32 NV 00 284537264244 1839662252 POLYGON ((-120.00574 39.22866, -120.00567 39.2... 2972382.0 Nevada 32 27.055978
New York 36 01779796 36 NY 00 122049520861 19256750161 MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ... 19572319.0 New York 36 415.340209
Ohio 39 01085497 39 OH 00 105823700104 10274656132 MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ... 11655397.0 Ohio 39 285.260671
Oklahoma 40 01102857 40 OK 00 177664190465 3373689316 POLYGON ((-103.00257 36.52659, -103.00219 36.6... 3932870.0 Oklahoma 40 57.333369
Oregon 41 01155107 41 OR 00 248628426864 6170953359 MULTIPOLYGON (((-123.59892 46.25145, -123.5984... 4129803.0 Oregon 41 43.020586
Pennsylvania 42 01779798 42 PA 00 115881934065 3397760687 POLYGON ((-80.51989 40.90666, -80.51963 40.911... 12791530.0 Pennsylvania 42 285.893663
Puerto Rico 72 01779808 72 PR 00 8868948653 4922329963 MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ... 3318447.0 Puerto Rico 72 969.081975
Rhode Island 44 01219835 44 RI 00 2677759219 1323691129 MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ... 1057231.0 Rhode Island 44 1022.577273
South Carolina 45 01779799 45 SC 00 77866132568 5074311415 MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ... 5020806.0 South Carolina 45 167.002359
South Dakota 46 01785534 46 SD 00 196345992286 3383664203 POLYGON ((-104.05788 44.99761, -104.05078 44.9... 870638.0 South Dakota 46 11.484533
Tennessee 47 01325873 47 TN 00 106791646253 2322913374 POLYGON ((-90.31045 35.00270, -90.30926 35.009... 6709356.0 Tennessee 47 162.720146
Texas 48 01779801 48 TX 00 676680588914 18979352230 MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ... 28260856.0 Texas 48 108.168141
Utah 49 01455989 49 UT 00 213355058738 6529987297 POLYGON ((-114.05296 37.59278, -114.05247 37.6... 3096848.0 Utah 49 37.593669
Virginia 51 01779803 51 VA 00 102258180558 8528070310 MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ... 8454463.0 Virginia 51 214.134053
United States Virgin Islands 78 01802710 78 VI 00 348021914 1550236187 MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ... NaN NaN NaN NaN
Vermont 50 01779802 50 VT 00 23873081385 1030243281 POLYGON ((-73.43774 44.04501, -73.43199 44.063... 624313.0 Vermont 50 67.731652
Washington 53 01779804 53 WA 00 172117960159 12549742084 MULTIPOLYGON (((-122.33164 48.02056, -122.3283... 7404107.0 Washington 53 111.415154
Wisconsin 55 01779806 55 WI 00 140292246684 29343721650 MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ... 5790716.0 Wisconsin 55 106.904593
West Virginia 54 01779805 54 WV 00 62266296765 489206049 POLYGON ((-82.64320 38.16909, -82.64300 38.169... 1817305.0 West Virginia 54 75.591429
Wyoming 56 01779807 56 WY 00 251458712277 1867503715 POLYGON ((-111.05456 45.00095, -111.04507 45.0... 581024.0 Wyoming 56 5.984463
In [17]:
df_map_US= df_map_US.drop(["Alaska", "American Samoa", "Guam", "Hawaii", "Commonwealth of the Northern Mariana Islands", "Puerto Rico", "United States Virgin Islands"  ])
In [18]:
#find state with lowest population density
df_map_US.loc[df_map_US['population_density'].idxmin()]
Out[18]:
STATEFP                                                              56
STATENS                                                        01779807
GEOID                                                                56
STUSPS                                                               WY
LSAD                                                                 00
ALAND                                                      251458712277
AWATER                                                       1867503715
geometry              POLYGON ((-111.054556 45.000955, -111.04506604...
total_pop                                                        581024
Name                                                            Wyoming
state                                                                56
population_density                                              5.98446
Name: Wyoming, dtype: object
In [19]:
# select 2 columns, sort.
# doesn't mutate dataframe if don't set inplace True and don't reassign to df_map
df_map_US[['Name','population_density']].sort_values(by= 'population_density', ascending=False).head()
Out[19]:
Name population_density
NAME
District of Columbia District of Columbia 11332.015267
New Jersey New Jersey 1207.178010
Rhode Island Rhode Island 1022.577273
Massachusetts Massachusetts 878.167802
Connecticut Connecticut 738.289676
In [20]:
#Add column awater_frac
df_map_US['awater_frac'] = df_map_US['AWATER'] / (df_map_US['ALAND'] + df_map_US['AWATER'])
df_map_US.iloc[:, 5:].sort_values(by=['awater_frac'], ascending=False).head()
Out[20]:
ALAND AWATER geometry total_pop Name state population_density awater_frac
NAME
Michigan 146614604273 103872203398 MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ... 9965265.0 Michigan 26 176.039202 0.414681
Rhode Island 2677759219 1323691129 MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ... 1057231.0 Rhode Island 44 1022.577273 0.330803
Massachusetts 20204396898 7130653806 MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ... 6850553.0 Massachusetts 25 878.167802 0.260861
Florida 138958484319 45975808217 MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ... 20901636.0 Florida 12 389.576707 0.248606
Maryland 25151895765 6979171386 MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ... 6018848.0 Maryland 24 619.784087 0.217209
In [21]:
df_map_US= gpd.GeoDataFrame(df_map_US, geometry='geometry')
In [22]:
pip install branca
Requirement already satisfied: branca in c:\users\edaha\anaconda3\lib\site-packages (0.4.2)
Requirement already satisfied: jinja2 in c:\users\edaha\anaconda3\lib\site-packages (from branca) (2.11.1)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\edaha\anaconda3\lib\site-packages (from jinja2->branca) (1.1.1)
Note: you may need to restart the kernel to use updated packages.
In [27]:
pip install folium
Requirement already satisfied: folium in c:\users\edaha\anaconda3\lib\site-packages (0.12.1)
Requirement already satisfied: branca>=0.3.0 in c:\users\edaha\anaconda3\lib\site-packages (from folium) (0.4.2)
Requirement already satisfied: numpy in c:\users\edaha\anaconda3\lib\site-packages (from folium) (1.18.1)
Requirement already satisfied: requests in c:\users\edaha\anaconda3\lib\site-packages (from folium) (2.26.0)
Requirement already satisfied: jinja2>=2.9 in c:\users\edaha\anaconda3\lib\site-packages (from folium) (2.11.1)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\edaha\anaconda3\lib\site-packages (from jinja2>=2.9->folium) (1.1.1)
Requirement already satisfied: charset-normalizer~=2.0.0 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (2.0.4)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (2021.5.30)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (1.26.6)
Requirement already satisfied: idna<4,>=2.5 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (2.8)
Note: you may need to restart the kernel to use updated packages.
In [28]:
def rd2(x):
        return round (x,2)
    
minimum, maximum= df_map_US["population_density"].quantile([0.05, 0.95]).apply(rd2)
mean = round(df_map_US["population_density"].mean(), 2)


print(f"minimum: {minimum}", f"maximum: {maximum}", f"Mean: {mean}", sep="\n\n")  
minimum: 11.17

maximum: 964.81

Mean: 432.18
In [29]:
import branca

colormap = branca.colormap.LinearColormap(
    colors=["#f2f0f7", "#cbc9e2", "#9e9ac8", "#756bb1", "#54278f"],
    index=df_map_US["population_density"].quantile([0.2, 0.4, 0.6, 0.8]),
    vmin=minimum,
    vmax=maximum,
)

colormap.caption = "Population Density in the United States"

colormap
Out[29]:
11.17964.81
In [30]:
import folium
from folium.plugins import Search
from IPython.display import display

m = folium.Map(location=[38, -97], zoom_start=4)
In [31]:
def style_function(x):
    return {
        "fillColor": colormap(x["properties"]["population_density"]),
        "color": "black",
        "weight": 2,
        "fillOpacity": 0.5,
            }


stategeo = folium.GeoJson(
    df_map_US,
    name="US States",
    style_function=style_function,
    tooltip=folium.GeoJsonTooltip(
        fields=["Name", "population_density"], aliases=["State", "Density"], localize=True
    ),
).add_to(m)

statesearch = Search(
    layer=stategeo,
    geom_type="Polygon",
    placeholder="Search for a US State",
    collapsed=False,
    search_label="Name",
    weight=3,
).add_to(m)

folium.LayerControl().add_to(m)
colormap.add_to(m)

m
Out[31]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [ ]: